package com.power.sifa.approve.service;

import com.power.sifa.approve.model.Apl_admre_audit;
import com.power.sifa.approve.model.pageInfo.Apl_admre_auditPageInfo;
import org.springframework.data.domain.Page;

import java.io.Serializable;
import java.util.List;

/**
 *  行政复议相关审批表业务层
 */
public interface Apl_admre_auditService {

    /**
     *  根据id获取行政复议相关审批表对象
     */
    Apl_admre_audit getById(Serializable id);

    /**
     *  根据传入行政复议相关审批表对象进行新增或更新操作
     */
    void saveOrUpdate(Apl_admre_audit apl_admre_audit);

    /**
     *  根据id删除行政复议相关审批表
     */
    void removeById(Serializable id);

    /**
     *  根据传入条件查询行政复议相关审批表分页结果
     */
    Page<Apl_admre_audit> findAll(Apl_admre_auditPageInfo pageInfo);

    /**
     * 查询全部行政复议相关审批表
     */
    List<Apl_admre_audit> findAll();

     /**
     *  根据id批量删除行政复议相关审批表
     */
    void removeByIds(List<Integer> list);

     /**
     *  批量保存行政复议相关审批表
     */
    void saveAll(List<Apl_admre_audit> list);

    /**
     * 更新业务主表状态
     * @param id
     * @param status
     */
    void updateStatus(String id, Integer status);

    /**
     * 根据applyid查询获取行政复议相关审批表对象
     * @param applyid
     * @return
     */
    List<Apl_admre_audit> listAdmreAuditByApplyid(String applyid);

    /**
     * 获取最新一条子流程记录
     * @param parentApplyid
     * @param procType
     * @return
     */
    Apl_admre_audit getLastChildAudit(String parentApplyid, Integer procType);

    /**
     * 更新业务从表期满日期
     * @param applyid
     * @param quedate
     */
    void updateQuedate(String applyid, String quedate);

}
